Fulfillment Data Integer Serialization

We're changing the way we serialize potentially large integer values in our fulfillment data payloads. Before the change, we were encoding these large integers as numbers in our JSON response, but we'll be encoding them as strings going forward. This is intended to address issues with languages like JavaScript that have difficulty parsing large integers.

These changes affect:

The change will be going live on Wednesday March 22.

Here's a sample of the before payload:

{
    "protocol": "seaport1.4",
    "fulfillment_data":
    {
        "transaction":
        {
            "function": "fulfillBasicOrder_efficient_6GL6yc((address,uint256,uint256,address,address,address,uint256,uint256,uint8,uint256,uint256,bytes32,uint256,bytes32,bytes32,uint256,(uint256,address)[],bytes))",
            "chain": 1,
            "to": "0x00000000000001ad428e4906ae43d8f9852d0dd6",
            "value": 0,
            "input_data":
            {
                "parameters":
                {
                    "considerationToken": "0x2881579d1069e7b19aeee06de5c2b40ca23ab450",
                    "considerationIdentifier": 9,
                    "considerationAmount": 1,
                    "offerer": "0xf00d12687dfeb8a7ee8349cbcd18393108c4c29f",
                    "zone": "0x0000000000000000000000000000000000000000",
                    "offerToken": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                    "offerIdentifier": 0,
                    "offerAmount": 3130000000000000,
                    "basicOrderType": 16,
                    "startTime": 1679405383,
                    "endTime": 1679406284,
                    "zoneHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "salt": 47405,
                    "offererConduitKey": "0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000",
                    "fulfillerConduitKey": "0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000",
                    "totalOriginalAdditionalRecipients": 2,
                    "additionalRecipients":
                    [
                        {
                            "amount": 15650000000000,
                            "recipient": "0x0000a26b00c1f0df003000390027140000faa719"
                        },
                        {
                            "amount": 156500000000000,
                            "recipient": "0x1108f964b384f1dcda03658b24310ccbc48e226f"
                        }
                    ],
                    "signature": "0x63c5161e81858bef67788e2f595f68712dd9e2448975451adee3e56c3d13509e931b9e6acab3cb1a26d2685cbfc13e610ed1b3f0a71e02338c7a025477e75765"
                }
            }
        }
    },
    "orders": [...]
}

Here's a sample after payload:

{
    "protocol": "seaport1.4",
    "fulfillment_data":
    {
        "transaction":
        {
            "function": "fulfillBasicOrder_efficient_6GL6yc((address,uint256,uint256,address,address,address,uint256,uint256,uint8,uint256,uint256,bytes32,uint256,bytes32,bytes32,uint256,(uint256,address)[],bytes))",
            "chain": 1,
            "to": "0x00000000000001ad428e4906ae43d8f9852d0dd6",
            "value": 0,
            "input_data":
            {
                "parameters":
                {
                    "considerationToken": "0x2881579d1069e7b19aeee06de5c2b40ca23ab450",
                    "considerationIdentifier": "9",
                    "considerationAmount": "1",
                    "offerer": "0xf00d12687dfeb8a7ee8349cbcd18393108c4c29f",
                    "zone": "0x0000000000000000000000000000000000000000",
                    "offerToken": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                    "offerIdentifier": "0",
                    "offerAmount": "3130000000000000",
                    "basicOrderType": 16,
                    "startTime": "1679405383",
                    "endTime": "1679406284",
                    "zoneHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
                    "salt": "47405",
                    "offererConduitKey": "0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000",
                    "fulfillerConduitKey": "0x0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000",
                    "totalOriginalAdditionalRecipients": "2",
                    "additionalRecipients":
                    [
                        {
                            "amount": "15650000000000",
                            "recipient": "0x0000a26b00c1f0df003000390027140000faa719"
                        },
                        {
                            "amount": "156500000000000",
                            "recipient": "0x1108f964b384f1dcda03658b24310ccbc48e226f"
                        }
                    ],
                    "signature": "0x63c5161e81858bef67788e2f595f68712dd9e2448975451adee3e56c3d13509e931b9e6acab3cb1a26d2685cbfc13e610ed1b3f0a71e02338c7a025477e75765"
                }
            }
        }
    },
    "orders": [...]
}