Add sendPrivyTransaction
for better transaction UIs
#53
Annotations
7 errors and 1 warning
test/src/actions/sendTransaction/sendTransaction.test.ts > sendTransaction > sendTransaction calls sendTransactionInternal correctly when isDeployed is false:
packages/agw-client/test/src/actions/sendTransaction/sendTransaction.test.ts#L140
AssertionError: expected "spy" to be called with arguments: [ { account: { …(2) }, …(12) }, …(4) ]
Received:
1st spy call:
Array [
Object {
"account": Object {
"address": "0x0000000000000000000000000000000000012345",
"type": "json-rpc",
},
"batch": undefined,
"cacheTime": 4000,
"ccipRead": undefined,
"chain": Object {
"blockExplorers": Object {
"default": Object {
"name": "Abstract Block Explorer",
"url": "https://explorer.testnet.abs.xyz",
},
},
"contracts": Object {
"multicall3": Object {
"address": "0xF9cda624FBC7e059355ce98a31693d299FACd963",
"blockCreated": 358349,
},
},
"custom": Object {
"getEip712Domain": [Function getEip712Domain],
},
"fees": undefined,
"formatters": Object {
"block": Object {
"exclude": undefined,
"format": [Function format],
"type": "block",
},
"transaction": Object {
"exclude": undefined,
"format": [Function format],
"type": "transaction",
},
"transactionReceipt": Object {
"exclude": undefined,
"format": [Function format],
"type": "transactionReceipt",
},
"transactionRequest": Object {
"exclude": Array [
"customSignature",
"factoryDeps",
"gasPerPubdata",
"paymaster",
"paymasterInput",
],
"format": [Function format],
"type": "transactionRequest",
},
},
"id": 11124,
"name": "Abstract Testnet (Local)",
"nativeCurrency": Object {
"decimals": 18,
"name": "ETH",
"symbol": "ETH",
},
"rpcUrls": Object {
"default": Object {
"http": Array [
"http://127.0.0.1:8745/2",
],
"webSocket": Array [
"ws://127.0.0.1:8745/2",
],
},
},
"serializers": Object {
"transaction": [Function serializeTransaction],
},
"testnet": true,
},
"extend": [Function anonymous],
"key": "base",
"name": "Base Client",
"pollingInterval": 4000,
"request": [Function request],
"transport": Object {
"fetchOptions": undefined,
"key": "http",
"name": "HTTP JSON-RPC",
"request": [Function request],
"retryCount": 3,
"retryDelay": 150,
"timeout": 10000,
"type": "http",
"url": "http://127.0.0.1:8745/2",
},
"type": "base",
"uid": "81b31cd768c",
},
Object {
"account": Object {
"address": "0x8888888888888888888888888888888888888888",
"type": "json-rpc",
},
"addChain": [Function addChain],
"batch": undefined,
"cacheTime": 4000,
"ccipRead": undefined,
"chain": Object {
"blockExplorers": Object {
"default": Object {
"name": "Abstract Block Explorer",
"url": "https://explorer.testnet.abs.xyz",
},
},
"contracts": Object {
"multicall3": Object {
"address": "0xF9cda624FBC7e059355ce98a31693d299FACd963",
"blockCreated": 358349,
},
},
"custom": Object {
"getEip712Domain": [Function getEip712Domain],
},
"fees": undefined,
"formatters": Object {
"block": Object {
"exclude": undefined,
"format": [Function format],
"type": "block",
},
"transaction": Object {
"exclude": undefined,
"format": [Function format],
"type": "transaction",
},
"transactionReceipt": Object {
"exclude": undefined,
"format": [Function format],
"type"
|
test/src/actions/sendTransaction/sendTransaction.test.ts > sendTransaction > sendTransaction calls sendTransactionInternal correctly when isDeployed is true:
packages/agw-client/test/src/actions/sendTransaction/sendTransaction.test.ts#L140
AssertionError: expected "spy" to be called with arguments: [ { account: { …(2) }, …(12) }, …(4) ]
Received:
1st spy call:
Array [
Object {
"account": Object {
"address": "0x0000000000000000000000000000000000012345",
"type": "json-rpc",
},
"batch": undefined,
"cacheTime": 4000,
"ccipRead": undefined,
"chain": Object {
"blockExplorers": Object {
"default": Object {
"name": "Abstract Block Explorer",
"url": "https://explorer.testnet.abs.xyz",
},
},
"contracts": Object {
"multicall3": Object {
"address": "0xF9cda624FBC7e059355ce98a31693d299FACd963",
"blockCreated": 358349,
},
},
"custom": Object {
"getEip712Domain": [Function getEip712Domain],
},
"fees": undefined,
"formatters": Object {
"block": Object {
"exclude": undefined,
"format": [Function format],
"type": "block",
},
"transaction": Object {
"exclude": undefined,
"format": [Function format],
"type": "transaction",
},
"transactionReceipt": Object {
"exclude": undefined,
"format": [Function format],
"type": "transactionReceipt",
},
"transactionRequest": Object {
"exclude": Array [
"customSignature",
"factoryDeps",
"gasPerPubdata",
"paymaster",
"paymasterInput",
],
"format": [Function format],
"type": "transactionRequest",
},
},
"id": 11124,
"name": "Abstract Testnet (Local)",
"nativeCurrency": Object {
"decimals": 18,
"name": "ETH",
"symbol": "ETH",
},
"rpcUrls": Object {
"default": Object {
"http": Array [
"http://127.0.0.1:8745/2",
],
"webSocket": Array [
"ws://127.0.0.1:8745/2",
],
},
},
"serializers": Object {
"transaction": [Function serializeTransaction],
},
"testnet": true,
},
"extend": [Function anonymous],
"key": "base",
"name": "Base Client",
"pollingInterval": 4000,
"request": [Function request],
"transport": Object {
"fetchOptions": undefined,
"key": "http",
"name": "HTTP JSON-RPC",
"request": [Function request],
"retryCount": 3,
"retryDelay": 150,
"timeout": 10000,
"type": "http",
"url": "http://127.0.0.1:8745/2",
},
"type": "base",
"uid": "81b31cd768c",
},
Object {
"account": Object {
"address": "0x8888888888888888888888888888888888888888",
"type": "json-rpc",
},
"addChain": [Function addChain],
"batch": undefined,
"cacheTime": 4000,
"ccipRead": undefined,
"chain": Object {
"blockExplorers": Object {
"default": Object {
"name": "Abstract Block Explorer",
"url": "https://explorer.testnet.abs.xyz",
},
},
"contracts": Object {
"multicall3": Object {
"address": "0xF9cda624FBC7e059355ce98a31693d299FACd963",
"blockCreated": 358349,
},
},
"custom": Object {
"getEip712Domain": [Function getEip712Domain],
},
"fees": undefined,
"formatters": Object {
"block": Object {
"exclude": undefined,
"format": [Function format],
"type": "block",
},
"transaction": Object {
"exclude": undefined,
"format": [Function format],
"type": "transaction",
},
"transactionReceipt": Object {
"exclude": undefined,
"format": [Function format],
"type"
|
test/src/actions/sendTransaction/sendTransaction.test.ts > sendTransactionBatch > sendTransactionBatch calls sendTransactionInternal correctly when isDeployed is false:
packages/agw-client/test/src/actions/sendTransaction/sendTransaction.test.ts#L289
AssertionError: expected "spy" to be called with arguments: [ { account: { …(2) }, …(12) }, …(4) ]
Received:
1st spy call:
Array [
Object {
"account": Object {
"address": "0x0000000000000000000000000000000000012345",
"type": "json-rpc",
},
"batch": undefined,
"cacheTime": 4000,
"ccipRead": undefined,
"chain": Object {
"blockExplorers": Object {
"default": Object {
"name": "Abstract Block Explorer",
"url": "https://explorer.testnet.abs.xyz",
},
},
"contracts": Object {
"multicall3": Object {
"address": "0xF9cda624FBC7e059355ce98a31693d299FACd963",
"blockCreated": 358349,
},
},
"custom": Object {
"getEip712Domain": [Function getEip712Domain],
},
"fees": undefined,
"formatters": Object {
"block": Object {
"exclude": undefined,
"format": [Function format],
"type": "block",
},
"transaction": Object {
"exclude": undefined,
"format": [Function format],
"type": "transaction",
},
"transactionReceipt": Object {
"exclude": undefined,
"format": [Function format],
"type": "transactionReceipt",
},
"transactionRequest": Object {
"exclude": Array [
"customSignature",
"factoryDeps",
"gasPerPubdata",
"paymaster",
"paymasterInput",
],
"format": [Function format],
"type": "transactionRequest",
},
},
"id": 11124,
"name": "Abstract Testnet (Local)",
"nativeCurrency": Object {
"decimals": 18,
"name": "ETH",
"symbol": "ETH",
},
"rpcUrls": Object {
"default": Object {
"http": Array [
"http://127.0.0.1:8745/2",
],
"webSocket": Array [
"ws://127.0.0.1:8745/2",
],
},
},
"serializers": Object {
"transaction": [Function serializeTransaction],
},
"testnet": true,
},
"extend": [Function anonymous],
"key": "base",
"name": "Base Client",
"pollingInterval": 4000,
"request": [Function request],
"transport": Object {
"fetchOptions": undefined,
"key": "http",
"name": "HTTP JSON-RPC",
"request": [Function request],
"retryCount": 3,
"retryDelay": 150,
"timeout": 10000,
"type": "http",
"url": "http://127.0.0.1:8745/2",
},
"type": "base",
"uid": "81b31cd768c",
},
Object {
"account": Object {
"address": "0x8888888888888888888888888888888888888888",
"type": "json-rpc",
},
"addChain": [Function addChain],
"batch": undefined,
"cacheTime": 4000,
"ccipRead": undefined,
"chain": Object {
"blockExplorers": Object {
"default": Object {
"name": "Abstract Block Explorer",
"url": "https://explorer.testnet.abs.xyz",
},
},
"contracts": Object {
"multicall3": Object {
"address": "0xF9cda624FBC7e059355ce98a31693d299FACd963",
"blockCreated": 358349,
},
},
"custom": Object {
"getEip712Domain": [Function getEip712Domain],
},
"fees": undefined,
"formatters": Object {
"block": Object {
"exclude": undefined,
"format": [Function format],
"type": "block",
},
"transaction": Object {
"exclude": undefined,
"format": [Function format],
"type": "transaction",
},
"transactionReceipt": Object {
"exclude": undefined,
"format": [Function format],
"type"
|
test/src/actions/sendTransaction/sendTransaction.test.ts > sendTransactionBatch > sendTransactionBatch calls sendTransactionInternal correctly when isDeployed is true:
packages/agw-client/test/src/actions/sendTransaction/sendTransaction.test.ts#L289
AssertionError: expected "spy" to be called with arguments: [ { account: { …(2) }, …(12) }, …(4) ]
Received:
1st spy call:
Array [
Object {
"account": Object {
"address": "0x0000000000000000000000000000000000012345",
"type": "json-rpc",
},
"batch": undefined,
"cacheTime": 4000,
"ccipRead": undefined,
"chain": Object {
"blockExplorers": Object {
"default": Object {
"name": "Abstract Block Explorer",
"url": "https://explorer.testnet.abs.xyz",
},
},
"contracts": Object {
"multicall3": Object {
"address": "0xF9cda624FBC7e059355ce98a31693d299FACd963",
"blockCreated": 358349,
},
},
"custom": Object {
"getEip712Domain": [Function getEip712Domain],
},
"fees": undefined,
"formatters": Object {
"block": Object {
"exclude": undefined,
"format": [Function format],
"type": "block",
},
"transaction": Object {
"exclude": undefined,
"format": [Function format],
"type": "transaction",
},
"transactionReceipt": Object {
"exclude": undefined,
"format": [Function format],
"type": "transactionReceipt",
},
"transactionRequest": Object {
"exclude": Array [
"customSignature",
"factoryDeps",
"gasPerPubdata",
"paymaster",
"paymasterInput",
],
"format": [Function format],
"type": "transactionRequest",
},
},
"id": 11124,
"name": "Abstract Testnet (Local)",
"nativeCurrency": Object {
"decimals": 18,
"name": "ETH",
"symbol": "ETH",
},
"rpcUrls": Object {
"default": Object {
"http": Array [
"http://127.0.0.1:8745/2",
],
"webSocket": Array [
"ws://127.0.0.1:8745/2",
],
},
},
"serializers": Object {
"transaction": [Function serializeTransaction],
},
"testnet": true,
},
"extend": [Function anonymous],
"key": "base",
"name": "Base Client",
"pollingInterval": 4000,
"request": [Function request],
"transport": Object {
"fetchOptions": undefined,
"key": "http",
"name": "HTTP JSON-RPC",
"request": [Function request],
"retryCount": 3,
"retryDelay": 150,
"timeout": 10000,
"type": "http",
"url": "http://127.0.0.1:8745/2",
},
"type": "base",
"uid": "81b31cd768c",
},
Object {
"account": Object {
"address": "0x8888888888888888888888888888888888888888",
"type": "json-rpc",
},
"addChain": [Function addChain],
"batch": undefined,
"cacheTime": 4000,
"ccipRead": undefined,
"chain": Object {
"blockExplorers": Object {
"default": Object {
"name": "Abstract Block Explorer",
"url": "https://explorer.testnet.abs.xyz",
},
},
"contracts": Object {
"multicall3": Object {
"address": "0xF9cda624FBC7e059355ce98a31693d299FACd963",
"blockCreated": 358349,
},
},
"custom": Object {
"getEip712Domain": [Function getEip712Domain],
},
"fees": undefined,
"formatters": Object {
"block": Object {
"exclude": undefined,
"format": [Function format],
"type": "block",
},
"transaction": Object {
"exclude": undefined,
"format": [Function format],
"type": "transaction",
},
"transactionReceipt": Object {
"exclude": undefined,
"format": [Function format],
"type"
|
test/src/actions/sendTransaction/sendTransactionInternal.test.ts > sendTransactionInternal > 'is initial transaction':
packages/agw-client/src/actions/sendTransactionInternal.ts#L99
TransactionExecutionError: The method "privy_sendSmartWalletTx" does not exist / is not available.
URL: http://127.0.0.1:8745/2
Request body: {"method":"privy_sendSmartWalletTx","params":[{"address":"0x8888888888888888888888888888888888888888","type":"json-rpc"},{"to":"0x5432100000000000000000000000000000000000","from":"0x8888888888888888888888888888888888888888","data":"0x1234","paymaster":"0x5407B5040dec3D339A9247f3654E59EEccbb6391","paymasterInput":"0x","type":"eip712","nonce":0,"maxPriorityFeePerGas":"0","maxFeePerGas":"250000000","gas":"158774","chainId":11124,"value":"0"},[]]}
Request Arguments:
chain: Abstract Testnet (Local) (id: 11124)
from: 0x8888888888888888888888888888888888888888
to: 0x5432100000000000000000000000000000000000
data: 0x1234
Details: Method not found
Version: 2.21.14
❯ Module.getTransactionError ../../node_modules/.pnpm/[email protected][email protected][email protected][email protected][email protected]/node_modules/viem/utils/errors/getTransactionError.ts:44:10
❯ Module.sendTransactionInternal src/actions/sendTransactionInternal.ts:99:11
❯ test/src/actions/sendTransaction/sendTransactionInternal.test.ts:106:31
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { details: 'Method not found', docsPath: undefined, metaMessages: [ 'URL: http://127.0.0.1:8745/2', 'Request body: {"method":"privy_sendSmartWalletTx","params":[{"address":"0x8888888888888888888888888888888888888888","type":"json-rpc"},{"to":"0x5432100000000000000000000000000000000000","from":"0x8888888888888888888888888888888888888888","data":"0x1234","paymaster":"0x5407B5040dec3D339A9247f3654E59EEccbb6391","paymasterInput":"0x","type":"eip712","nonce":0,"maxPriorityFeePerGas":"0","maxFeePerGas":"250000000","gas":"158774","chainId":11124,"value":"0"},[]]}', ' ', 'Request Arguments:', ' chain: Abstract Testnet (Local) (id: 11124)\n from: 0x8888888888888888888888888888888888888888\n to: 0x5432100000000000000000000000000000000000\n data: 0x1234' ], shortMessage: 'The method "privy_sendSmartWalletTx" does not exist / is not available.', version: '2.21.14', walk: 'Function<walk>' }
Caused by: Caused by: MethodNotFoundRpcError: The method "privy_sendSmartWalletTx" does not exist / is not available.
URL: http://127.0.0.1:8745/2
Request body: {"method":"privy_sendSmartWalletTx","params":[{"address":"0x8888888888888888888888888888888888888888","type":"json-rpc"},{"to":"0x5432100000000000000000000000000000000000","from":"0x8888888888888888888888888888888888888888","data":"0x1234","paymaster":"0x5407B5040dec3D339A9247f3654E59EEccbb6391","paymasterInput":"0x","type":"eip712","nonce":0,"maxPriorityFeePerGas":"0","maxFeePerGas":"250000000","gas":"158774","chainId":11124,"value":"0"},[]]}
Details: Method not found
Version: 2.21.14
❯ withRetry.delay.count.count ../../node_modules/.pnpm/[email protected][email protected][email protected][email protected][email protected]/node_modules/viem/utils/buildRequest.ts:132:25
❯ attemptRetry ../../node_modules/.pnpm/[email protected][email protected][email protected][email protected][email protected]/node_modules/viem/utils/promise/withRetry.ts:44:22
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { details: 'Method not found', docsPath: undefined, metaMessages: [ 'URL: http://127.0.0.1:8745/2', 'Request body: {"method":"privy_sendSmartWalletTx","params":[{"address":"0x8888888888888888888888888888888888888888","type":"json-rpc"},{"to":"0x5432100000000000000000000000000000000000","from":"0x8888888888888888888888888888888888888888","data":"0x1234","paymaster":"0x5407B5040dec3D339A9247f3654E59EEccbb6391","paymasterInput":"0x","type":"eip712","nonce":0,"maxPriorityFeePerGas":"0","maxFeePerGas":"250000000","gas":"158774","chainId":11124,"value":"0"},[]]}' ], shortMessage: 'The method "privy_sendSmartWalletTx" does not exist / is not available.', version: '2.21.14', code: -32601, walk: 'Function<walk>' }
Caused by: Caused by: RpcRequestError: RPC Request failed.
URL: http://127.0.0.1:8745/2
Request body: {"method":"privy_sendSmartWalletTx","params":[{"address":"0x888888888888888888888888888888
|
test/src/actions/sendTransaction/sendTransactionInternal.test.ts > sendTransactionInternal > 'is not initial transaction':
packages/agw-client/src/actions/sendTransactionInternal.ts#L99
TransactionExecutionError: The method "privy_sendSmartWalletTx" does not exist / is not available.
URL: http://127.0.0.1:8745/2
Request body: {"method":"privy_sendSmartWalletTx","params":[{"address":"0x0000000000000000000000000000000000012345","type":"json-rpc"},{"to":"0x5432100000000000000000000000000000000000","from":"0x0000000000000000000000000000000000012345","data":"0x1234","paymaster":"0x5407B5040dec3D339A9247f3654E59EEccbb6391","paymasterInput":"0x","type":"eip712","nonce":0,"maxPriorityFeePerGas":"0","maxFeePerGas":"250000000","gas":"158774","chainId":11124,"value":"0"},[]]}
Request Arguments:
chain: Abstract Testnet (Local) (id: 11124)
from: 0x8888888888888888888888888888888888888888
to: 0x5432100000000000000000000000000000000000
data: 0x1234
Details: Method not found
Version: 2.21.14
❯ Module.getTransactionError ../../node_modules/.pnpm/[email protected][email protected][email protected][email protected][email protected]/node_modules/viem/utils/errors/getTransactionError.ts:44:10
❯ Module.sendTransactionInternal src/actions/sendTransactionInternal.ts:99:11
❯ test/src/actions/sendTransaction/sendTransactionInternal.test.ts:106:31
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { details: 'Method not found', docsPath: undefined, metaMessages: [ 'URL: http://127.0.0.1:8745/2', 'Request body: {"method":"privy_sendSmartWalletTx","params":[{"address":"0x0000000000000000000000000000000000012345","type":"json-rpc"},{"to":"0x5432100000000000000000000000000000000000","from":"0x0000000000000000000000000000000000012345","data":"0x1234","paymaster":"0x5407B5040dec3D339A9247f3654E59EEccbb6391","paymasterInput":"0x","type":"eip712","nonce":0,"maxPriorityFeePerGas":"0","maxFeePerGas":"250000000","gas":"158774","chainId":11124,"value":"0"},[]]}', ' ', 'Request Arguments:', ' chain: Abstract Testnet (Local) (id: 11124)\n from: 0x8888888888888888888888888888888888888888\n to: 0x5432100000000000000000000000000000000000\n data: 0x1234' ], shortMessage: 'The method "privy_sendSmartWalletTx" does not exist / is not available.', version: '2.21.14', walk: 'Function<walk>' }
Caused by: Caused by: MethodNotFoundRpcError: The method "privy_sendSmartWalletTx" does not exist / is not available.
URL: http://127.0.0.1:8745/2
Request body: {"method":"privy_sendSmartWalletTx","params":[{"address":"0x0000000000000000000000000000000000012345","type":"json-rpc"},{"to":"0x5432100000000000000000000000000000000000","from":"0x0000000000000000000000000000000000012345","data":"0x1234","paymaster":"0x5407B5040dec3D339A9247f3654E59EEccbb6391","paymasterInput":"0x","type":"eip712","nonce":0,"maxPriorityFeePerGas":"0","maxFeePerGas":"250000000","gas":"158774","chainId":11124,"value":"0"},[]]}
Details: Method not found
Version: 2.21.14
❯ withRetry.delay.count.count ../../node_modules/.pnpm/[email protected][email protected][email protected][email protected][email protected]/node_modules/viem/utils/buildRequest.ts:132:25
❯ attemptRetry ../../node_modules/.pnpm/[email protected][email protected][email protected][email protected][email protected]/node_modules/viem/utils/promise/withRetry.ts:44:22
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { details: 'Method not found', docsPath: undefined, metaMessages: [ 'URL: http://127.0.0.1:8745/2', 'Request body: {"method":"privy_sendSmartWalletTx","params":[{"address":"0x0000000000000000000000000000000000012345","type":"json-rpc"},{"to":"0x5432100000000000000000000000000000000000","from":"0x0000000000000000000000000000000000012345","data":"0x1234","paymaster":"0x5407B5040dec3D339A9247f3654E59EEccbb6391","paymasterInput":"0x","type":"eip712","nonce":0,"maxPriorityFeePerGas":"0","maxFeePerGas":"250000000","gas":"158774","chainId":11124,"value":"0"},[]]}' ], shortMessage: 'The method "privy_sendSmartWalletTx" does not exist / is not available.', version: '2.21.14', code: -32601, walk: 'Function<walk>' }
Caused by: Caused by: RpcRequestError: RPC Request failed.
URL: http://127.0.0.1:8745/2
Request body: {"method":"privy_sendSmartWalletTx","params":[{"address":"0x000000000000000000000000000000
|
test
Process completed with exit code 1.
|
test
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/setup-node@v3, pnpm/action-setup@v2. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|